#define _CRT_SECURE_NO_WARNINGS 1

//
//#include <stdio.h>
//int fib(int x)
//{
//	if (x < 3)
//	{
//		return 1;
//	}
//	if (x > 2)
//	{
//		return fib(x - 1) + fib(x - 2);
//	}
//}
//
//int main()
//{   
//
//	int n;
//	int c;
//	scanf("%d", &n);
//	c=fib(n);
//	printf("%d",c);
//	return 0;
//}
//#include <stdio.h>
//int f(int x,int y)
//{
//	if (x == 1)
//	{
//		return y;
//	}
//	if (y == 1)
//	{
//		return x;
//	}
//	if (x > 1 && y > 1)
//		return f(x - 1, y) + f(x, y - 1);
//}
//int main()
//{
//	int n;
//	int m,k;
//	scanf("%d", &n);
//	for (int i=0;i < n;i++)
//	{
//		scanf("%d %d", &m,&k);
//		int c;
//		c=f(m,k);
//		printf("%d\n",c);
//	}
//	return 0;
//}
#include <stdio.h>
int fib2(int x)
{   
	if (x == 1)
		return 2;
	if (x == 2)
		return 3;
	if (x == 3)
		return 5;
	if(x>3)
	return fibz(x - 1) + fibz(x - 2) - fibz(x - 3);
}

int main()
{  
	int n;
	scanf("%d", &n);
	int c;
	c=fib2(n);
	printf("%d", c);
	return;
}